/**
 * 从头到尾查找数据为空的索引
 * @param dataList
 * @author 赵京涛
 */
export const useFindEmptyDataIndex = (dataList) => {
  if (Array.isArray(dataList) && dataList.length > 0) {
    // 从索引为0开始往后对比
    const startIndex = dataList[0].data.findIndex((_, i) => dataList.some(item => item.data[i] !== ''))
    // 从最后一个索引开始往前对比
    const endIndex = dataList.reduce((acc, item) => {
      return Math.max(acc, item.data.reduceRight((result, _, i) => {
        if (result !== -1) {
          return result
        }
        if (item.data[i] !== '') {
          return i
        }
        return result
      }, -1))
    }, 0)
    return { startIndex: startIndex !== -1 ? startIndex : -1, endIndex: dataList[0].data.length - 1 - endIndex }
  } else {
    return dataList
  }
}

/**
 * 从列表的最后一个元素开始向前遍历，一旦找到第一个非空元素，就返回其索引
 * @param dataArray
 */
export const useFindFirstNonEmptyIndexFromEnd = (dataArray) => {
  let maxIndex = -1
  for (let i = 0; i < dataArray.length; i++) {
    const itemData = dataArray[i].data
    for (let j = itemData.length - 1; j >= 0; j--) {
      if (itemData[j] !== '') {
        maxIndex = Math.max(maxIndex, j)
        break // 找到后退出当前循环
      }
    }
  }

  return maxIndex
}
